export default {
	// 获取被选中商品的总价
	getTotal: state => {
		let obj = state.carts
		let total = Object.keys(obj).filter(item => obj[item].checked).reduce((pre, cur) => {
			return pre + obj[cur].count * obj[cur].goods.lowNowPrice;
		}, 0)
		return Number(total.toFixed(2) * 100);
	},
	//监听当全部商品被选中状态，那么全选按钮应该被选上，只要有一个没被选上，那么全选按钮状态就是false
	isCheckedAll: state => {
		let obj = state.carts
		// 当数组为空也返回undefined，所以加个特殊判断
		if (Object.keys(obj).length === 0) return false;
		// find找到符合的返回对应的元素，没有找到返回undefined
		// 从数组中找到没有被选中的商品，所以obj[item].checked要取反。返回没有选中元素，再次取反，让全选按钮为false。
		return !Object.keys(obj).find(item => !obj[item].checked)
	}
}
